#
#
# a, an [eɪ; æn] art. 1. (泛指)任何一 2. 某一个 3. 每一 4. (表示类别)一种，一类 5. (用于某些物质名词之前)一份，一客等 6. (在艺术家的名字之前)…的作品 7. 同一
# *abacus [ˈæbəkəs] n. 算盘
# 用 enword.py 来处理enword.txt 如下内容，enword.txt每行是一个英语单词和英标还有翻译，格式如上，将其转化为下面的json格式,
# {
#     "[eɪ; æn] art.": {
#         "prefix": "enwd00001",
#         "body": "a, an",
#         "description": "1. (泛指)任何一\n 2. 某一个\n 3. 每一\n 4. (表示类别)一种，一类\n 5. (用于某些物质名词之前)一份，一客等\n 6. (在艺术家的名字之前)…的作品\n 7. 同一\n"
#     }
# }
# 其中英标和词性([eɪ; æn] art.)放在第一行""里，第二行"prefix"后面放enwd00001,其中00001为计数顺序，第三行"body"后面放英语单词，第四行"description"为汉语解释，当有多个词义如1. 任何一个 2.某一个,将每个词义进行换行
# 我将创建一个Python脚本enword.py来处理enword.txt文件并将其转换为指定的JSON格式。以下是完整的实现：
#
# ```python
import json
import re

def process_enword_file(input_file, output_file):
    word_dict = {}
    counter = 1
    
    with open(input_file, 'r', encoding='utf-8') as f:
        for line in f:
            line = line.strip()
            if not line:
                continue
                
            # 分割单词和音标/词性部分
            parts = re.split(r' (?=\[)', line, maxsplit=1)
            if len(parts) < 2:
                continue
                
            word_part = parts[0]
            rest_part = parts[1]
            
            # 分割音标/词性和翻译
            trans_parts = rest_part.split(' ', maxsplit=1)
            if len(trans_parts) < 2:
                continue
                
            pronunciation = trans_parts[0]
            pos_and_trans = trans_parts[1]
            
            # 提取词性
            pos_match = re.search(r'^([a-z]+\.)', pos_and_trans)
            if not pos_match:
                continue
                
            pos = pos_match.group(1)
            translation = pos_and_trans[len(pos):].strip()
            
            # 构建key
            key = f"{pronunciation} {pos}"
            
            # 处理翻译为多行
            translation_lines = []
            for item in re.split(r'\d+\.', translation):
                if item.strip():
                    translation_lines.append(item.strip())
            
            formatted_translation = ""
            for i, line in enumerate(translation_lines, start=1):
                formatted_translation += f"{i}. {line}\n"
            
            # 生成prefix
            prefix = f"enwd{str(counter).zfill(5)}"
            
            # 添加到字典
            word_dict[key] = {
                "prefix": prefix,
                "body": word_part,
                "description": formatted_translation
            }
            
            counter += 1
    
    # 写入JSON文件
    with open(output_file, 'w', encoding='utf-8') as f:
        json.dump(word_dict, f, ensure_ascii=False, indent=4)

if __name__ == "__main__":
    input_file = "enword.txt"
    output_file = "enword.json"
    process_enword_file(input_file, output_file)
    print(f"转换完成，结果已保存到 {output_file}")
# ```
#
# 这个脚本会：
# 1. 读取enword.txt文件
# 2. 解析每一行的单词、音标、词性和翻译
# 3. 将翻译部分按数字序号分割成多行
# 4. 生成递增的prefix编号(enwd00001, enwd00002等)
# 5. 将所有数据保存为JSON格式
#
# 对于你提供的示例输入，输出结果将完全符合你要求的格式。如果有多个词义，每个词义都会单独成行显示。
#
# 要使用这个脚本，只需将enword.txt放在同一目录下，然后运行python enword.py即可。
#
#
